{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {},
   "outputs": [],
   "source": [
    "from config import *"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2020年5月\n"
     ]
    }
   ],
   "source": [
    "print(f'{year}年{month}月')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "import sys\n",
    "sys.path.append('../../py')\n",
    "import db"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {},
   "outputs": [],
   "source": [
    "conn=db.get_conn()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Month</th>\n",
       "      <th>Salary_Mean</th>\n",
       "      <th>Salary_Median</th>\n",
       "      <th>JD_Count</th>\n",
       "      <th>HeadCount</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>201906</td>\n",
       "      <td>13387</td>\n",
       "      <td>12500</td>\n",
       "      <td>95375</td>\n",
       "      <td>306980</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>201907</td>\n",
       "      <td>13600</td>\n",
       "      <td>12500</td>\n",
       "      <td>91895</td>\n",
       "      <td>293948</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>201908</td>\n",
       "      <td>13785</td>\n",
       "      <td>12500</td>\n",
       "      <td>91631</td>\n",
       "      <td>289118</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>201909</td>\n",
       "      <td>13817</td>\n",
       "      <td>12500</td>\n",
       "      <td>87938</td>\n",
       "      <td>277901</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>201910</td>\n",
       "      <td>13730</td>\n",
       "      <td>12500</td>\n",
       "      <td>84654</td>\n",
       "      <td>269005</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>201911</td>\n",
       "      <td>13857</td>\n",
       "      <td>12500</td>\n",
       "      <td>81763</td>\n",
       "      <td>262185</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>201912</td>\n",
       "      <td>13938</td>\n",
       "      <td>12500</td>\n",
       "      <td>81142</td>\n",
       "      <td>260002</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>202001</td>\n",
       "      <td>14085</td>\n",
       "      <td>12500</td>\n",
       "      <td>74779</td>\n",
       "      <td>239779</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>202002</td>\n",
       "      <td>14525</td>\n",
       "      <td>12500</td>\n",
       "      <td>65189</td>\n",
       "      <td>204042</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>202003</td>\n",
       "      <td>14653</td>\n",
       "      <td>12500</td>\n",
       "      <td>60070</td>\n",
       "      <td>186531</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>202004</td>\n",
       "      <td>14481</td>\n",
       "      <td>12500</td>\n",
       "      <td>98178</td>\n",
       "      <td>294197</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>202005</td>\n",
       "      <td>14542</td>\n",
       "      <td>12500</td>\n",
       "      <td>103220</td>\n",
       "      <td>312761</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "     Month  Salary_Mean  Salary_Median  JD_Count  HeadCount\n",
       "0   201906        13387          12500     95375     306980\n",
       "1   201907        13600          12500     91895     293948\n",
       "2   201908        13785          12500     91631     289118\n",
       "3   201909        13817          12500     87938     277901\n",
       "4   201910        13730          12500     84654     269005\n",
       "5   201911        13857          12500     81763     262185\n",
       "6   201912        13938          12500     81142     260002\n",
       "7   202001        14085          12500     74779     239779\n",
       "8   202002        14525          12500     65189     204042\n",
       "9   202003        14653          12500     60070     186531\n",
       "10  202004        14481          12500     98178     294197\n",
       "11  202005        14542          12500    103220     312761"
      ]
     },
     "execution_count": 49,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "stat_data = pd.read_sql(sql='select * from MonthlyStats order by Month', con=conn)\n",
    "stat_data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(10,6))\n",
    "plt.plot(\"Month\",\"Salary_Mean\",data=stat_data)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAmkAAAFlCAYAAACwW380AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nOzdd3xV9eH/8dfnZockrJAQRmQTNkKUIcqw7kXdWgWtiqvuUe342l9traO1at0bqsVdR12liAwFGcoQcsMekdwQCJCbhOzP7497ohGZWeeO9/PxyCM3555z8iZA8s753M/5GGstIiIiIhJcPG4HEBEREZGfUkkTERERCUIqaSIiIiJBSCVNREREJAippImIiIgEIZU0ERERkSAU7XaAppaammq7devmdgwRERGRg1qyZMl2a22HfT0XdiWtW7duLF682O0YIiIiIgdljNm0v+c03CkiIiIShFTSRERERIKQSpqIiIhIEFJJExEREQlCKmkiIiIiQUglTURERCQIqaSJiIiIBCGVNBEREZEgpJImIiIiEoRU0kRERESCkEqaiIiISBBSSRMRERGpp6bW8t7S77DWupoj7BZYFxEREWmo4vIqbpz+DZ/nFtKuVSzH9u7gWhaVNBERERFgw/ZSrpi6iM07yvjzzwe6WtBAJU1ERESEuWsKuf7Vr4mO8vDqlSMY0aO925FU0kRERCRyWWt56YuN/OnDVfRJT+a5Sdl0bZfodixAJU1EREQiVEV1Db9/91veWJzHSQPSefj8obSKC55qFDxJRERERFpIob+Ca15ZwpJNO7nx+N7cfHxvPB7jdqwfUUkTERGRiPLtd7u5atpidpZV8sTFwzhtcIbbkfZJJU1EREQixn+Wb+X2N5fRLjGWt64ZzcDOrd2OtF8qaSIiIhL2amstf//fav7x2Vqyj2jLU5cMp0NynNuxDkglTURERMJaSUU1t7y+lBmrCrgguyt/nDiAuOgot2MdlEqaiIiIhK0tRWVcOXUxawtL+MMZ/Zk8uhvGBNcEgf1RSRMREZGwNH/dDq57dQm1FqZefjRjeqe6HemwqKSJiIhI2Pnngk38v/dX0i21Fc9NyqZ7aiu3Ix02lTQREREJG1U1tfzh/ZW8+tVmJmSl8ciFQ0mJj3E7VoOopImIiEhYKCqt5NpXlvDVhiKuGduTO07qS1SQ3aD2cKikiYiISMjLyS/mqmmL2eav4JELhjLxyM5uR2o0lTQREREJaZ+u9HHL60tJjo/mzatHMaRrG7cjNQmVNBEREQlJ1loe/2wtf5uxmiFd2/DspcNJT4l3O1aTUUkTERGRkFNWWc0dby7nwxX5nH1kZ+47exDxMcF/g9rDoZImIiIiIeW7XXuYMm0xq/KL+c2pWVx1bI+QuUHt4VBJExERkZCxeGMR17yyhIqqWl6cfBTjs9LcjtRsVNJEREQkJLyxaAu/fXcFXdom8tqUbHqlJbkdqVl5DraDMeZFY8w2Y8y39ba1M8bMMMascd63dbYbY8xjxpi1xpjlxphh9Y6Z7Oy/xhgzud724caYFc4xjxnneuX+PoeIiIhEluqaWv7fByu58+3ljOzRnnevOybsCxocQkkDXgZO3mvbXcBMa21vYKbzMcApQG/nbQrwFAQKF3APMAI4GrinXul6ytm37riTD/I5REREJELsKqvkspcW8dIXG7liTHdeuuwoWieG5goCh+ugJc1aOwco2mvzWcBU5/FUYGK97dNswAKgjTEmAzgJmGGtLbLW7gRmACc7z6VYa+dbay0wba9z7etziIiISARYu83PxCe+YOGGIh48dzC/P70/0VGHcn0pPDT0NWnp1tp8AGttvjGm7lV7nYEt9fbLc7YdaHvePrYf6HOIiIhImPvMW8CN05cSHxPF9CkjGH5EO7cjtbimnjiwr/mvtgHbD++TGjOFwJApmZmZh3u4iIiIBAlrLc/MWc8Dn3gZ0CmFZy/NplObBLdjuaKh1wwLnKFKnPfbnO15QNd6+3UBth5ke5d9bD/Q5/gJa+2z1tpsa212hw4dGvhHEhERETeVV9Vwy+tLuf9jL6cOyuDNq0dHbEGDhpe094G6GZqTgffqbZ/kzPIcCex2hiw/BU40xrR1JgycCHzqPOc3xox0ZnVO2utc+/ocIiIiEmZ8u8u54Jn5vLt0K7ef2IfHLzqShNjwWkHgcB10uNMYMx0YB6QaY/IIzNK8H3jDGHMFsBk4z9n9I+BUYC1QBlwOYK0tMsbcCyxy9vujtbZuMsK1BGaQJgAfO28c4HOIiIhIGFm6ZRdTpi2mtKKaZy8dzokDOrodKSiYwKTK8JGdnW0XL17sdgwRERE5BP/+Jo9fv72C9JQ4npuUTVbHFLcjtShjzBJrbfa+ntOKAyIiItLiamotD37i5Zk56xnZox1P/mI47VrFuh0rqKikiYiISIsqLq/ipunfMCu3kEtHHsH/ndGfmAi6/9mhUkkTERGRFrNheylXTl3Eph1l/GniQC4ZeYTbkYKWSpqIiIi0iLlrCrn+1a+J8hheuXIEI3u0dztSUFNJExERkWZlreWlLzbypw9X0Sc9mecmZdO1XaLbsYKeSpqIiIg0m4rqGn7/7re8sTiPkwak8/D5Q2kVp/pxKPRVEhERkWaxu6yKX05dxJJNO7nx+N7cfHxvPJ59rQgp+6KSJiIiIs3ijcVbWLJpJ49ffCSnD+7kdpyQo/muIiIi0ixy8otJT4lTQWsglTQRERFpFjk+f8StINCUVNJERESkyVXV1LJuWwlZGcluRwlZKmkiIiLS5DZsL6WyppasjippDaWSJiIiIk0uJ78YQMOdjaCSJiIiIk0u1+cn2mPo2SHJ7SghSyVNREREmpzX56dnhyRio1U1GkpfOREREWly3vxiTRpoJJU0ERERaVK791SxdXc5fTVpoFFU0kRERKRJ5fr8APTTpIFGUUkTERGRJpXrc2Z2arizUVTSREREpEnl+PykxEfTMSXe7SghTSVNREREmlRg0kAKxhi3o4Q0lTQRERFpMrW1ltUFJfTTpIFGU0kTERGRJvPdrj2UVFTTV5MGGk0lTURERJrM98tBadJAo6mkiYiISJOpu/1G33SVtMZSSTtMy7bs4r2l31FTa92OIiIiEnS8Pj+Z7RJpFRftdpSQp5J2mF5btIWbXlvKyY/M4aMV+dSqrImIiHwvx1dMliYNNAmVtMP054kDefziI6m1lute/ZrT/jGPGasKsFZlTUREIlt5VQ0bt5eqpDURlbTD5PEYTh/cif/eMpaHzx9CWWU1V01bzMQnvuDz3G0qayIiErHWFJRQayErQzM7m4JKWgNFeQxnD+vC/24dywPnDGJ7SSWXvbSI856ez5frtrsdT0REpMV565aD0pW0JqGS1kgxUR4uOCqTWbeP496JA8nbuYeLn/uKi55dwOKNRW7HExERaTFen5/4GA9HtG/ldpSwoJLWRGKjPVw68gg+v2Mc/3d6f9ZsK+Hcp+cz6cWFLNuyy+14IiIizc7rK6ZPejJRHi0H1RRU0ppYfEwUvxzTnTl3juOuU7JYkbeLs574giunLmLl1t1uxxMREWk2uT6/hjqbkEpaM0mMjeaasT2Z++sJ3HZCHxZuKOK0x+Zx3atLWF3gdzueiIhIkyr0V7C9pFLLQTUhlbRmlhQXzQ3H92burydw44RezFm9nZMemcNNr33D+sISt+OJiIg0ibpJA1pYvemopLWQ1gkx3HpiX+beOZ6rj+vJf1cW8LOHZ3P7m8vYUlTmdjwREZFG+X45KJW0JqOS1sLatorlrlOymHPneC4/pjvvL9vK+L9+zt3vrGDrrj1uxxMREWmQnHw/HZLjaJ8U53aUsKGS5pIOyXH8/vT+zLljPBcdnclbS7Yw7qHP+cP7K9lWXO52PBERkcPi1XJQTU4lzWUdW8dz78SBzLp9HGcP68w/F2zi2Adn8ecPV7GjpMLteCIiIgdVXVPLmm0l9NNKA01KJS1IdGmbyP3nDOaz28Zy2uAMXpi3gWMfnMWDn3jZVVbpdjwREZH92rijlMrqWvqm60paU1JJCzJHtG/Fw+cP5b+3jOX4fuk8NXsdxz4wi7/PWE1xeZXb8URERH4iJz8waSArQyWtKamkBaleaUn846Ij+fimYxndqz2PzlzDsQ/M4olZaymtqHY7noiIyPdyfX6iPIZeaUluRwkrKmlBLqtjCs9cms1/bhjD8CPa8tCnuRz34Cyem7OePZU1bscTERHB6yumR2or4qKj3I4SVlTSQsTAzq158bKjeOe60fTvlMKfP8rhuIdm8fIXG6ioVlkTERH3eH1+sjRpoMmppIWYYZlt+ecVI3h9yki6p7biDx+sYtxDn/PqV5uorK51O56IiESY4vIq8nbu0e03moFKWoga0aM9r08ZyStXjKBj63h+++9vmfC3z3lj8Raqa1TWRESkZax2VhpQSWt6KmkhzBjDmN6pvHPtaF667CjaJsZy51vLOeHvc3hv6XfU1Fq3I4qISJjz1pU0DXc2OZW0MGCMYXxWGu//6hieuXQ4cdEebnptKSc/MoePVuRTq7ImIiLNxOsrJjk+mk6t492OEnZU0sKIMYaTBnTkoxuP5fGLj6TWWq579WtO+8c8ZqwqwFqVNRERaVrefD9ZHZMxxrgdJexEux1Amp7HYzh9cCdOGZjBe0u/49GZa7hq2mJ6pLYiNTmOhJiowFtsFPHfP/aQEON8HBv1/T7x9R7XbY+PiSI+JrB/dJR6vohIpLLWkuvzM/HIzm5HCUsqaWEsymM4e1gXzhjSiXe+zuPTlQWUVlSzq6yS/Koa9lTVsKeyloqqGsqqahr0GraYKFOv6P1Q4n7ysVMC9y5+8fsohgmxnh+dIz46Co9Hv6GJiASb73btwV9RTV9NGmgWKmkRICbKwwVHZXLBUZkH3K+qppY9VTWUVzoFrqqGPc7jcqfQ1W3fe5/yqnr7VdVSXllDob/iJ8/vqarhcEddE2KiuPyYblwzricp8TGN+EqIiEhT8jrLQfXTclDNQiVNvhcT5SEmytOsRchaS0V17Q+l7QAlsLw68PyK73bz5OfrmL5wM7+a0JtLRmbqrtYiIkEgtyBQ0vpoYfVmoZImLcoY8/0QZ5vDOO6asbv5y8c53PufVbz85QZuP7EvZwzupGFQEREX5eQX06VtAska5WgWetW3hISBnVvzyhUjmPrLo0mKi+Gm15Zy5hPz+GLtdrejiYhErFyfn6yOuj9ac1FJk5BhjGFsnw58eMMYHj5/CDtLq/jF818x6cWFrNpa7HY8EZGIUl5Vw/rtpVppoBmppEnI8TizVmfeNpbfntqPZVt2cdo/5nLr60vJ21nmdjwRkYiwdlsJNbWWLE0aaDYqaRKy4mOiuOq4Hsy5YzxTjuvBf1bkM+Fvs/nzh6vYVVbpdjwRkbCW+/2anRrubC4qaRLyWifGcPcp/Zh1+zjOGNyJ5+dt4LgHZ/HM7HWUV9W4HU9EJCx5fcXERnvo1j7R7Shhq1ElzRhzkzHmW2PMSmPMzc62dsaYGcaYNc77ts52Y4x5zBiz1hiz3BgzrN55Jjv7rzHGTK63fbgxZoVzzGNGa07IAXRuk8Dfzh/CRzcey7Aj2vKXj71M+OvnvLUkT4vNi4g0Ma/PT5/0JK0804wa/JU1xgwErgKOBoYApxtjegN3ATOttb2Bmc7HAKcAvZ23KcBTznnaAfcAI5xz3VNX7Jx9ptQ77uSG5pXI0S8jhZcvP5p/XTWC1OQ4bn9zGac9NpdZudu0fqmISBPxamZns2tM/e0HLLDWlllrq4HZwM+Bs4Cpzj5TgYnO47OAaTZgAdDGGJMBnATMsNYWWWt3AjOAk53nUqy1823gJ+u0eucSOajRPVN597pj+MdFR1JWWcPlLy3i4ue+YnneLrejiYiEtO0lFRT6KzSzs5k1pqR9CxxnjGlvjEkETgW6AunW2nwA532as39nYEu94/OcbQfanreP7SKHzOMxnDGkE/+7dSz3nNGf3AI/Zz7+BTdM/4bNOzQTVESkITRpoGU0eMUBa22OMeYBAle+SoBlQPUBDtnX68lsA7b/9MTGTCEwLEpm5oHXp5TIFBvt4fJjunPu8C48M3s9z89bzyff5vOLEUdww4RetE+KczuiiEjI8NaVNN1+o1k16tV+1toXrLXDrLXHAUXAGqDAGarEeb/N2T2PwJW2Ol2ArQfZ3mUf2/eV41lrbba1NrtDhw6N+SNJmEuOj+H2k/oy+47xnDu8C9Pmb2TsQ5/z+Gdr2FOpmaAiIofCm19MalIsqfoFt1k1dnZnmvM+EzgbmA68D9TN0JwMvOc8fh+Y5MzyHAnsdoZDPwVONMa0dSYMnAh86jznN8aMdGZ1Tqp3LpFGSU+J5y9nD+bTm49jZI/2/PW/qxn70CxeW7iZ6ppat+OJiAS13AJNGmgJjZ03+7YxZhXwAXC988L/+4ETjDFrgBOcjwE+AtYDa4HngOsArLVFwL3AIuftj842gGuB551j1gEfNzKvyI/0Tk/m+cnZvHnNKDq3TeCud1Zw8qNzmbGqQDNBRUT2oabWkuvz01eTBpqdCbcfRNnZ2Xbx4sVux5AQZK3l05U+Hvwkl/XbSzmqW1vuPrUfwzLbHvxgEZEIsa6whOP/NpuHzh3MedldD36AHJAxZom1Nntfz+kOdCIOYwwnD8zg01uO408TB7JhexlnP/kl1/xzCesLS9yOJyISFOpmdvbL0HBnc2vw7E6RcBUT5eGSkUfw8yM789zc9Tw7Zz0zcgq46Oiu3HR8Hzok64WyIhK5vPnFeAz0SktyO0rY05U0kf1oFRfNzT/rw+w7xnPx0Zm8tnALYx+axd9nrKak4kB3mxERCV85Pj/dU1sRHxPldpSwp5ImchAdkuO4d+JAZtw6lnF9O/DozDWMe2gW/5y/kSrNBBWRCJPr85Oloc4WoZImcoi6p7biyV8M553rRtMjNYnfv7eSE/8+h49W5GsmqIhEhJKKajYXlZGVrpmdLUElTeQwDctsy+tXj+T5SdlEewzXvfo1Zz/1JQs3FB38YBGREPb9clC6ktYiVNJEGsAYw8/6p/PxTcfywDmD2LprD+c/M58rpy5iTYHf7XgiIs3ihzU7dSWtJaikiTRCdJSHC47K5PPbx3PHSX35an0RJz0yh7veXk5Bcbnb8UREmpTXV0xSXDRd2ia4HSUiqKSJNIGE2CiuH9+L2XeOZ/Lobrz9dR5jH5rFHz9YhW+3ypqIhAevs9JAYLVGaW4qaSJNqF2rWO45YwAzbx3HqYMymDp/I8c9OIvf/nsFW4rK3I4nItJg1lq8+cVaDqoFqaSJNIPM9ok8fP5QZt02jnOzu/DG4i2M++vn3PbGMtZp9QIRCUH5u8spLq+mn0pai1FJE2lGme0Tue/ng5hz53gmjTqCD1ds5WcPz+ZX//qanPxit+OJiBwyzexseSppIi0go3UC95wxgLl3TuDq43oyy7uNUx6dy1XTFrNsyy6344mIHFSOL/CLZR/dI63FqKSJtKAOyXHcdUoWX9w1gZt/1puFG4o464kvuPSFr3SfNREJat58P53bJNA6IcbtKBFDJU3EBW0SY7n5Z32Y9+vx/PrkLHLyizn/mfmc/8x85qwu1AoGIhJ0cn1+3R+thamkibgoOT6Ga8f1ZO6dE7jnjP5s3lHGpBcXMvGJL5ixqkBlTUSCQkV1DesKSzSzs4WppIkEgYTYKC4/pjuz7xzHfT8fRFFZJVdNW8wpj87lg2VbqalVWRMR96zbVkp1rdWkgRamkiYSROKio7h4RCazbhvHw+cPoaqmlhumf8MJD8/mrSV5VNXUuh1RRCJQbkFg0oBuv9GyVNJEglB0lIezh3Xhv7eM5YmLhxEXE8Xtby5j/F8/55UFm6iornE7oohEEG++n9goD91SW7kdJaKopIkEsSiP4bTBGXx04xhemJxNalIcv3v3W457cBYvzNtAWWW12xFFJAJ4fX56pSURE6Xa0JL01RYJAcYYju+Xzr+vG80rV4yge2or7v3PKo59YBZPzFqLv7zK7YgiEsa8vmLN7HRBtNsBROTQGWMY0zuVMb1TWbSxiMc/W8tDn+byzOx1XHZMdy4f3Y22rWLdjikiYWRnaSUFxRVkZaiktTRdSRMJUUd1a8fUXx7N+786hpE92vPYzDWMeeAz/vJRDtv85W7HE5Ew4a1bDqqjZna2NF1JEwlxg7u04dlJ2eT6/Dwxay3PzV3Py19u5KKjM5lyXA86tUlwO6KIhDCvsxyUhjtbnq6kiYSJvh2TeeyiI5l52zjOGtqJVxZsYuxDs7j7neVs2lHqdjwRCVHefD/tWsXSITnO7SgRRyVNJMx0T23Fg+cO4fM7xnHhUZm8/fV3jP/r59zy+lLWFPjdjiciIcZbEFgOyhjjdpSIo5ImEqa6tE3k3okDmXfneK4Y051PvvVx4iNzuO7VJazcutvteCISAmpqLat9fi0H5RK9Jk0kzKWlxPPb0/pz7bhevDhvA1O/3MhHK3xMyErj+vG9GH5EW7cjikiQ2lxUxp6qGvpp0oArdCVNJEK0axXL7Sf1Zd5dE7j9xD58s3kn5zz1JRc/t4Av123XYu4i8hO5dZMGdPsNV6ikiUSY1gkx/GpCb+b9egK/PbUfa7aVcPFzX3Hu0/OZlbtNZU1EvpeT78cY6J2mkuYGlTSRCNUqLpqrjuvB3DvHc+9ZA/DtLufylxZxxuPzeG/pd1RWazF3kUiX6/PTvX0rEmKj3I4SkVTSRCJcfEwUl47qxqzbx/HgOYMprajhpteWcswDn/H3GavZVqwb44pEKq+vWEOdLlJJExEAYqM9nH9UV2beOpaXLj+KAZ1SeHTmGkbf/xk3Tv+GJZt2aihUJIKUVVazqaiMvumaNOAWze4UkR/xeAzj+6Yxvm8aG7eXMm3+Jt5cvIX3l21lYOcUJo/qxhlDOhEfo+EPkXC2uqAEazVpwE26kiYi+9UttRX/d0Z/FvzmeO6dOJDyqlrueGs5o+//jAc/8bJ11x63I4pIM/Hmazkot+lKmogcVKu4aC4deQSXjMjky3U7ePnLjTw9ex3PzFnPif3TmTy6GyO6t9MdyUXCiNfnJzE2iq5tE92OErFU0kTkkBljOKZXKsf0SmVLURmvLNjEa4u28PG3PrI6JjN5dDcmDu2smWAiYcDrK6Zvx2Q8Hv3y5RYNd4pIg3Rtl8jdp/Zjwd3Hc//ZgwC4+50VjPzLTO77KIctRWUuJxSRhrLW4vX5NdTpMl1JE5FGSYiN4sKjM7ngqK4s3FDEtPmbeGHeBp6bu57js9K5bHQ3junVXkOhIiGkoLiCXWVVZGk5KFeppIlIkzDGMKJHe0b0aE/+7j28umAz0xdu5n85BfRKS2LyqCP4+bAuJMXp245IsPP6NGkgGGi4U0SaXEbrBG4/qS9f3DWBv503hMTYKH7/3kpG3TeTP7y/kg3bS92OKCIH4PX5AXQlzWX6lVZEmk18TBTnDO/C2cM6882WXUz9ciOvfrWJl7/cyNg+HbhsdDfG9umgFyaLBJlcn5+M1vG0ToxxO0pEU0kTkWZnjGFYZluGZbblt6f1419fbebVrzZz+cuL6NY+kUtHdeO87C6kxOsHgkgwyMkv1lBnENBwp4i0qLTkeG7+WR+++PUEHr1wKO1axXLvf1Yx8r6Z/O7dFawp8LsdUSSiVdXUsq6whL4a6nSdrqSJiCtioz2cNbQzZw3tzIq83Uydv5E3FufxyoLNHNOrPZNHdeP4fulEaShUpEWtLyylqsbST8tBuU5X0kTEdYO6tOav5w1h/l0TuOOkvqwvLGXKP5cw9qFZPDN7HbvKKt2OKBIx6mZ29tVwp+tU0kQkaLRPiuP68b2Ye+d4nvrFMDq3SeAvH3sZcd9Mfv3WclZtLXY7okjYy8n3ExNl6JGa5HaUiKfhThEJOtFRHk4ZlMEpgzLIyS9m2vyN/Pub73h98RaO7taOyaO7ceKAdGKi9HumSFPL9RXTs0MSsdH6/+U2/Q2ISFDrl5HCX84ezIK7j+c3p2axdfcerv/X1xz7wCwe/2wN20sq3I4oEla0HFTw0JU0EQkJbRJjmXJcT64Y04PPvNuY+uVG/vrf1Tw2cy2nD8ngstHdGNS5tZafEmmE3WVV5O8uJytDMzuDgUqaiISUKI/hhP7pnNA/nbXb/Eybv4m3l+TxztffER/jITUpjg7JcT9+nxT7k22ttDyVyE9oOajgou9SIhKyeqUl88ezBnL7SX35z7J81heWsL2kgu0llWzeUcbXm3ZSVFaJtT89NiEmyilsPxS4vQteh6Q4UpNjSYzVt0qJDFoOKrjoO4+IhLyU+BguHpG5z+eqa2opKq2ksKSCQn+gwAXeB94K/RVs2F7Kwg1F7Cyr2uc5WsVGkfr9VblAceuQFE9qcuyPC11SHAmxUc35RxVpVl6fnzaJMaSnxLkdRVBJE5EwFx3lIS0lnrSU+IPuW1VX6PwVFJZUsP3795Xff7yusIQFGyrYtZ9ClxQX/aOrcz+9SvfDc/ExKnQSXLy+wHJQem1ncFBJExFxxER5SE+JJ/0QCl1ldS07SgMFru6K3A9X6wJvqwv8fLluB7v37LvQJcdF0yE5jnOGd+G6cT31g1FcVVtryfX5OT+7q9tRxKGSJiLSALHRHjJaJ5DROuGg+1ZU17Cj5Icyt73e0Guuz89Dn+ZS6K/g/07vj0fLYIlL8nbuoayyRpMGgohKmohIM4uLjqJTmwQ6tflpobPW8ucPc3h+3gaKy6t48JzBROsmveKCnLqZnbr9RtBQSRMRcZExht+e1o/WCTH8bcZqSsqreeyiI/V6NWlx3nw/xkCfdC0HFSz065qIiMuMMdxwfG/+cEZ//ruqgCumLqK0otrtWBJhcguKOaJdom45E0QaVdKMMbcYY1YaY741xkw3xsQbY7obY74yxqwxxrxujIl19o1zPl7rPN+t3nnudrbnGmNOqrf9ZGfbWmPMXY3JKiIS7C47pjt/O28IC9YXcckLX7GrrNLtSBJBvPl++ur1aEGlwSXNGNMZuBHIttYOBKKAC4EHgL9ba3sDO4ErnEOuAHZaa3sBf3f2wxjT3ytHks0AACAASURBVDluAHAy8KQxJsoYEwU8AZwC9AcucvYVEQlb5wzvwpO/GMbK74q58NkFbPOXux1JIsCeyho27CjVTWyDTGOHO6OBBGNMNJAI5AMTgLec56cCE53HZzkf4zx/vAnMNz8LeM1aW2Gt3QCsBY523tZaa9dbayuB15x9RUTC2kkDOvLiZUexuaiM856ez5aiMrcjSZhbs82PtdAvQ1fSgkmDS5q19jvgr8BmAuVsN7AE2GWtrXsxRR7Q2XncGdjiHFvt7N++/va9jtnfdhGRsDemdyqvXDmCnaWVnPf0fNZu87sdScKYNz/w76uvrqQFlcYMd7YlcGWrO9AJaEVgaHJvdavm7evmP7YB2/eVZYoxZrExZnFhYeHBoouIhIRhmW15/epRVNdaznt6PivydrsdScJUjq+YhJgoMtsluh1F6mnMcOfPgA3W2kJrbRXwDjAaaOMMfwJ0AbY6j/OArgDO862Bovrb9zpmf9t/wlr7rLU221qb3aFDh0b8kUREgku/jBTeumYUibHRXPTcAr5av8PtSBKGcn1++nRMJko3Uw4qjSlpm4GRxphE57VlxwOrgFnAuc4+k4H3nMfvOx/jPP+ZtdY62y90Zn92B3oDC4FFQG9ntmgsgckF7zcir4hISOqW2oq3rh1Fekock15cyCzvNrcjSRix1uL1+clK1+vRgk1jXpP2FYEJAF8DK5xzPQv8GrjVGLOWwGvOXnAOeQFo72y/FbjLOc9K4A0CBe8T4HprbY3zurVfAZ8COcAbzr4iIhEno3UCb1w9it7pSVw1bTHvL9vnwILIYSssqaCotJIsTRoIOiZwMSt8ZGdn28WLF7sdQ0SkWRSXV3Hly4tZtKmIP08cxMUjMt2OJCFuzupCJr24kOlXjWRUz/Zux4k4xpgl1trsfT2nFQdEREJISnwMU395NOP6dOA3/17B07PXuR1JQpy3bs1O3cg26KikiYiEmITYKJ65NJvTB2dw/8deHvzES7iNikjL8fr8pKfE0bZVrNtRZC9aoEtEJATFRnt49MIjSY6P4cnP11FcXsUfzxyIR7Pz5DAFloPS/dGCkUqaiEiIivIY7vv5QFISonlm9npKyqt56LwhxERpkEQOTVVNLWu3lXBs71S3o8g+qKSJiIQwYwx3n9KP1gkxPPhJLiUV1Tx+8TDiY6LcjiYhYOP2UiprajWzM0jp1y0RkTBw3bhe3HvWAP6Xs43LX1pESUX1wQ+SiJfjc5aDStdwZzBSSRMRCROXjurGIxcMZeHGIn7x3AJ2lla6HUmCnDe/mGiPoWdaK7ejyD6opImIhJGJR3bmmUuGk+Pzc/4z8ykoLnc7kgSxXJ+fnh2SiIvW8HgwUkkTEQkzP+ufzsuXH8XWXXs49+kv2byjzO1IEqS8Pj99dX+0oKWSJiIShkb3TOXVq0biL6/m3Ke/JNd57ZFIneLyKr7btUeTBoKYSpqISJga2rUNb1w9CoALnp3P0i27XE4kwaSuuPfTPdKClkqaiEgY65OezFvXjCY5PppfPLeAL9dtdzuSBAlvfmA5KA13Bi+VNBGRMJfZPpG3rhlNpzYJXPbSImasKnA7kgQBr89PSnw0Ga3j3Y4i+6GSJiISAdJT4nnj6lH065jMNa8s4d1vvnM7krjM6/OTlZGCMVpKLFippImIRIi2rWJ59aqRHNWtLbe8sZR/zt/odiRxibWWXJ+fLA11BjWVNBGRCJIUF83Llx/N8Vlp/P69lTwxay3WWrdjSQvL27mHkopqsjRpIKippImIRJj4mCieumQ4E4d24qFPc7n/E6+KWoTx1i0HpStpQU0LrIuIRKCYKA8Pnz+UpPhonpm9nuI91fxp4kCiPHp9UiTQzM7QoJImIhKhPB7DvWcNJCU+hic/X4e/vIqHzx9KbLQGWcKdt8BPZrtEkuJUA4KZ/nZERCKYMYY7T84iJSGG+z/2UlpRzZO/GE5CrNZyDGfe/GJdRQsB+nVJRES4ZmxP7vv5ID5fXcjkFxdSXF7ldiRpJuVVNWzYXko/lbSgp5ImIiIAXDwik8cuPJKvN+/k4ucWsKOkwu1I0gzWbiuh1kJWhmZ2BjuVNBER+d4ZQzrx3KRs1hSUcP4z88nfvcftSNLEcjRpIGSopImIyI+Mz0pj2i+PpqC4gnOfms/G7aVuR5ImlOvzExftoVv7Vm5HkYNQSRMRkZ8Y0aM9068ayZ6qGs59ev73V18k9Hl9fvp2TNbtVkKASpqIiOzToC6teePqkUR7DBc8M5+vN+90O5I0Aa+vmL7pGuoMBSppIiKyX73SknnzmlG0bRXLJc9/xbw1292OJI1Q6K9ge0mlJg2ECJU0ERE5oK7tEnnzmlFktkvkly8v4pNvfW5HkgbKdZaD0sLqoUElTUREDiotOZ7XpoxkQOcUrv/X17y9JM/tSNIAXl/gtYUqaaFBJU1ERA5Jm8RYXrliBCN7tOO2N5fx6leb3I4kh8nr89MhOY72SXFuR5FDoJImIiKHrFVcNC9MPorxfTtwz3srWZG32+1Ichi8vmJdRQshKmkiInJY4mOi+PsFQ0lNiuOm17+hrLLa7UhyCKprallTUKKSFkJU0kRE5LC1SYzl4QuGsGF7KX/6MMftOHIINu4oo6K6lqyOmtkZKlTSRESkQUb3TGXKsT3411ebmbGqwO04chB1kwa0HFToUEkTEZEGu/XEPvTPSOHXby9nm7/c7ThyALk+P1EeQ6+0JLejyCFSSRMRkQaLi47isYuGUlpRzR1vLsda63Yk2Y+cfD89UlsRHxPldhQ5RCppIiLSKL3Skvndaf2YvbqQqV9udDuO7IfXV6yhzhCjkiYiIo12ycgjmJCVxn0fe7+/q70ED395FXk799BPy0GFFJU0ERFpNGMMD5wzmJT4aG567RsqqmvcjiT1rC4IFGctrB5aVNJERKRJdEiO46Fzh+D1+Xnok1y340g9OfnOmp0ZKmmhRCVNRESazPisNCaNOoLn521g7ppCt+OII9fnJzkums5tEtyOIodBJU1ERJrUb07tR6+0JG5/cxk7SyvdjiP8MGnAGON2FDkMKmkiItKk4mOiePTCoRSVVnLXO7oth9ustXh9fg11hiCVNBERaXIDOrXmjpP68unKAt5YvMXtOBFt6+5y/OXVWg4qBKmkiYhIs7hyTA9G92zP//tgFRu2l7odJ2J58wPLQWlh9dCjkiYiIs3C4zH87fwhxER5uPm1b6iqqXU7UkTyOvet66OSFnJU0kREpNlktE7gvp8PYlnebh6bucbtOBHJ6/PTpW0CKfExbkeRw6SSJiIizeq0wRmcO7wLT8xay6KNRW7HiTje/GINdYYolTQREWl2fzhzAF3aJnLza0spLq9yO07EqKiuYf32Uk0aCFEqaSIi0uyS4qJ55MKh+IrLuee9lW7HiRhrt5VQU2t1+40QpZImIiItYlhmW26Y0It/f/Md7y39zu04EcFbtxyUhjtDkkqaiIi0mF+N78WwzDb87t1vydtZ5nacsJdb4Cc22kO39q3cjiINoJImIiItJjrKwyMXHIm1cOsby6ip1WoEzSknv5jeaUlER+nHfSjS35qIiLSozPaJ/OHMASzcUMTTs9e5HSes5fr8mjQQwlTSRESkxZ0zrDOnDc7g7zNWszxvl9txwtKOkgq2+Svop0kDIUslTUREWpwxhvsmDqJDchw3v7aUsspqtyOFnVxnpYG+mjQQslTSRETEFa0TY/jb+UPYsKOUe/+T43acsFO3HJSGO0OXSpqIiLhmdM9UphzXg+kLN/PflT6344QVr6+Y1KRYOiTHuR1FGkglTUREXHXbCX0Z0CmFu95ZwbbicrfjhA2vz6+hzhDX4JJmjOlrjFla763YGHOzMaadMWaGMWaN876ts78xxjxmjFlrjFlujBlW71yTnf3XGGMm19s+3BizwjnmMWOMadwfV0REgk1stIdHLxxKWWU1t7+1nFrdlqPRamotqws0szPUNbikWWtzrbVDrbVDgeFAGfBv4C5gprW2NzDT+RjgFKC38zYFeArAGNMOuAcYARwN3FNX7Jx9ptQ77uSG5hURkeDVKy2Z357WnzmrC5k6f6PbcULeph2llFfVaqWBENdUw53HA+ustZuAs4CpzvapwETn8VnANBuwAGhjjMkATgJmWGuLrLU7gRnAyc5zKdba+dZaC0yrdy4REQkzl4zI5PisNP7ysff7mYnSMJo0EB6aqqRdCEx3Hqdba/MBnPdpzvbOwJZ6x+Q52w60PW8f20VEJAwZY3jg3MGkxEdz02vfUF5V43akkOX1+fEY6J2e5HYUaYRGlzRjTCxwJvDmwXbdxzbbgO37yjDFGLPYGLO4sLDwIDFERCRYpSbF8dC5Q/D6/Dz0aa7bcUKWN7+YbqmtiI+JcjuKNEJTXEk7BfjaWlvgfFzgDFXivN/mbM8DutY7rguw9SDbu+xj+09Ya5+11mZba7M7dOjQyD+OiIi4aXxWGpNHHcEL8zYwZ7V+8W6I3AI//TTUGfKaoqRdxA9DnQDvA3UzNCcD79XbPsmZ5TkS2O0Mh34KnGiMaetMGDgR+NR5zm+MGenM6pxU71wiIhLG7j61H73Tkrj9zWUUlVa6HSeklFZUs2lHmSYNhIFGlTRjTCJwAvBOvc33AycYY9Y4z93vbP8IWA+sBZ4DrgOw1hYB9wKLnLc/OtsArgWed45ZB3zcmLwiIhIa4mOieOTCoewsq+Tud5YTmD8mhyK3QMtBhYvoxhxsrS0D2u+1bQeB2Z5772uB6/dznheBF/exfTEwsDEZRUQkNA3o1Jo7T8rizx/l8PqiLVx4dKbbkUJC3czYfhka7gx1WnFARESC1hVjunNMr/b8vw9WsWF7qdtxQoI3v5ikuGg6t0lwO4o0kkqaiIgELY/H8NfzhhAb7eHm176hqqbW7UhBL8fnp096Eh6PFukJdSppIiIS1DJaJ3D/2YNYlrebR/+3xu04Qc1aS67PT5aGOsOCSpqIiAS9UwZlcN7wLjz5+VoWbig6+AERyldczu49VfTTpIGwoJImIiIh4Z4zB9C1XSK3vL6U4vIqt+MEJW9+3cxOXUkLByppIiISEpLionnkgqH4isv5v3e/dTtOUKpbs1O33wgPKmkiIhIyjsxsy40TevPu0q28t/Q7t+MEHa+vmM5tEmidEON2FGkCKmkiIhJSrh/fk+FHtOV3//6WvJ1lbscJKrk+v66ihRGVNBERCSnRUR4euWAoFrj19WXU1Go1AoDK6lrWbivRclBhRCVNRERCTtd2ify/MwewcGMRT89e53acoLCusITqWqsraWFEJU1ERELS2cM6c/rgDP4+YzXL83a5Hcd1Wg4q/KikiYhISDLG8OeJg0hLjuOm15ZSVlntdiRX5fiKiY3y0D21ldtRpImopImISMhqnRjD384fysYdpdz7n1Vux3GVN99Pz7QkYqL0oz1c6G9SRERC2qie7bn6uJ5MX7iFT1f63I7jmlyfXysNhBmVNBERCXm3ntCHgZ1TuOvt5WwrLnc7TovbWVqJr7icrAyVtHCikiYiIiEvNtrDIxccyZ6qGm57cxm1EXZbjh9WGtCkgXCikiYiImGhV1oSvzutP3PXbOflLze6HadF5fqKATTcGWZU0kREJGz8YkQmP+uXxv2fePE6xSUSeH1+2rWKpUNynNtRpAmppImISNgwxnD/OYNJiY/hpulLKa+qcTtSi/D6/PRNT8YY43YUaUIqaSIiElZSk+J46LzB5Bb4efCTXLfjNLvaWkuuz69JA2FIJU1ERMLO+L5pXDa6Gy9+sYE5qwvdjtOsNheVsaeqRmt2hiGVNBERCUt3nZJFn/QkbntzGUWllW7HaTZ1MzuzNLMz7KikiYhIWIqPieKRC45kd1kVv357OdaG5205vL5ijIE+6bqSFm5U0kREJGz175TCnSf3ZcaqAl5btMXtOM3Cm++nW/tWJMRGuR1FmphKmoiIhLVfHtOdMb1S+eMHq1hfWOJ2nCaXW+DX69HClEqaiIiENY/H8NfzhhAX4+Hm15dSVVPrdqQmU1ZZzcYdpXo9WphSSRMRkbDXsXU8f/n5IJbn7ebBT7xh8/q01QUlWAt9dSUtLKmkiYhIRDhlUAYXj8jkubkbuP5fX1NcXuV2pEb7fjko3SMtLKmkiYhIxPjTWQO5+5QsPl1ZwBn/mMe33+12O1Kj5OT7SYyNomvbRLejSDNQSRMRkYjh8RiuHtuT16eMpKKqlrOf/JJ/LtgUssOfXl8xfdKT8Xi0HFQ4UkkTEZGIk92tHR/eOIZRPdvz+3e/5Ybp3+APseFPawPLQWmoM3yppImISERqnxTHS5cdxR0n9eWjFfmc+fgXrNpa7HasQ7bNX8HOsirN7AxjKmkiIhKxPB7D9eN7Mf2qkZRWVDPxyS+YvnBzSAx/1i0HpZmd4UslTUREIt6IHu356KZjGdG9HXe/s4JbXl9KaUW127EOyJsfuOqnG9mGL5U0ERERIDUpjpcvP5pbT+jD+8u2csbj8/D6gnf40+vz0zElnjaJsW5HkWaikiYiIuKI8hhuPL43r1w5guI91Ux84gveWLQlKIc/vT4/WZo0ENZU0kRERPYyumcqH900hmGZbbnz7eXc9uYyyiqDZ/izqqaWtdv8mjQQ5lTSRERE9iEtOZ5/XjGCm47vzb+/+Y6zHv+CNQV+t2MBsL6wlKoaq9ejhTmVNBERkf2I8hhuOaEP//zlCHaWVXLm41/w9pI8t2N9/1o5DXeGN5U0ERGRgxjTO5UPbzyWwV1ac9uby7jzrWXsqaxxLY/X5ycmytAjNcm1DNL8VNJEREQOQXpKPK9eOYJfje/Fm0vymPjEF6zdVuJKFm9+MT07JBEbrR/j4Ux/uyIiIocoOsrD7Sf15eXLj6awpIIzH5/He0u/a/EcuT6/Xo8WAVTSREREDtPYPh348MYxDOiUwk2vLeXud5ZTXtUyw5+7y6rYurucrAzN7Ax3KmkiIiINkNE6gelXjeTacT2ZvnALP3/yS9YXNv/wZ26BloOKFCppIiIiDRQd5eHXJ2fx0mVHkb97D2f8Yx4fLNvarJ+zbmZnP90jLeyppImIiDTS+Kw0PrrxWPp2TOaG6d/wu3dXNNvwZ06+n9YJMaSnxDXL+SV4qKSJiIg0gU5tEnj96lFMOa4HryzYzDlPfcmmHaVN/nlyfcVkdUzGGNPk55bgopImIiLSRGKiPPzm1H48PymbvJ17OP2xeXy0Ir/Jzl9ba8n1+emnSQMRQSVNRESkif2sfzof3jiGHmlJXPfq19zz3rdUVDd++DNv5x5KK2s0aSBCqKSJiIg0gy5tE3nz6lH88pjuTJ2/ifOens+WorJGnfP75aBU0iKCSpqIiEgziY328H9n9OfpS4azYXsppz42l0++9TX4fF6fH2OgT7pKWiRQSRMREWlmJw/syEc3Hkv31FZc88oS/vjBKiqraw/7PF5fMZntEmkVF90MKSXYqKSJiIi0gK7tEnnzmlFcNrobL36xgfOeOfzhT6+Wg4ooKmkiIiItJC46ij+cOYAnfzGM9dtKOO2xucxYVXBIx5ZX1bBxeylZuoltxFBJExERaWGnDsrggxvG0LVdIldNW8x9H+VQVXPg4c81BSXUWk0aiCQqaSIiIi7oltqKt68dzSUjM3l2znoueGY+W3ft2e/+OXUzO3WPtIihkiYiIuKS+Jgo/jRxEP+46EhWF5Rw6mNzmeXdts99vfl+4mM8ZLZLbOGU4haVNBEREZedMaQT7//qGDqmxHP5y4u4/2Mv1XsNf+YWFNM3PZkoj5aDihQqaSIiIkGgR4ck3r3+GC46OpOnZ6/joucW4NtdDoC1lpx8vyYNRJhGlTRjTBtjzFvGGK8xJscYM8oY084YM8MYs8Z539bZ1xhjHjPGrDXGLDfGDKt3nsnO/muMMZPrbR9ujFnhHPOY0WqyIiISxuJjovjL2YN45IKhrNxazKmPzWX26kIKSyooKq3UclARprFX0h4FPrHWZgFDgBzgLmCmtbY3MNP5GOAUoLfzNgV4CsAY0w64BxgBHA3cU1fsnH2m1Dvu5EbmFRERCXoTj+zM+78aQ4ekOCa/uJC73l4BQFaGSlokaXBJM8akAMcBLwBYayuttbuAs4Cpzm5TgYnO47OAaTZgAdDGGJMBnATMsNYWWWt3AjOAk53nUqy18621FphW71wiIiJhrVdaYPjz/OwufOZMJtBwZ2RpzLoSPYBC4CVjzBBgCXATkG6tzQew1uYbY9Kc/TsDW+odn+dsO9D2vH1s/wljzBQCV9zIzMxsxB9JREQkeCTERvHguUM4plcq6wpLadcq1u1I0oIaU9KigWHADdbar4wxj/LD0Oa+7Ov1ZLYB23+60dpngWcBsrOz97mPiIhIqDpr6D6vUUiYa8xr0vKAPGvtV87HbxEobQXOUCXO+2319u9a7/guwNaDbO+yj+0iIiIiYa/BJc1a6wO2GGP6OpuOB1YB7wN1MzQnA+85j98HJjmzPEcCu51h0U+BE40xbZ0JAycCnzrP+Y0xI51ZnZPqnUtEREQkrDVmuBPgBuBVY0wssB64nEDxe8MYcwWwGTjP2fcj4FRgLVDm7Iu1tsgYcy+wyNnvj9baIufxtcDLQALwsfMmIiIiEvZMYOJk+MjOzraLFy92O4aIiIjIQRljllhrs/f1nFYcEBEREQlCKmkiIiIiQUglTURERCQIqaSJiIiIBCGVNBEREZEgpJImIiIiEoRU0kRERESCkEqaiIiISBBSSRMREREJQmG34oAxphDY1MyfJhXY3syfozkod8sL1ezK3bKUu2Upd8tS7gM7wlrbYV9PhF1JawnGmMX7W8IhmCl3ywvV7MrdspS7ZSl3y1LuhtNwp4iIiEgQUkkTERERCUIqaQ3zrNsBGki5W16oZlfulqXcLUu5W5ZyN5BekyYiIiIShHQlTURERCQYWWsj5g3oCswCcoCVwE3O9nbADGCN876tsz0LmA9UALfvda6bgG+d89xcb/s+z+U8Nw5Y6hwzOxRyA3c4mZc6x9UA7UIgd2vgA2CZc8zlIfL1bgv8G1gOLAQGBlnu85xttUD2XsfcDawFcoGTQiE30N753CXA40H6PWV/2U8AlgArnPcTmjH3L5x/k8uBL4Eh9c51svN3vha4q9727sBXzrleB2Kd7ccBXwPVwLnN/PVuyty3Aqucc80kcNuEUMh9jfNvZCkwD+gfCrnrPX8uYNnr+02w5gYuAwr54efmlYf7feVHf5bGHBxqb0AGMMx5nAysBvoDD9Z98YG7gAecx2nAUcCfqfcNFRhI4JtpIhAN/A/o7Ty3v3O1IfAfPLPu3KGQe68cZwCfhUJu4Df1HncAitjrP3+Q5n4IuMd5nAXMDLKvdz+gL/A5Py4M/QkU4jgC37zWAVEhkLsVMIbAD7KGlDQ3sx8JdKp3/HfNmHs0P/xAOwX4ynkc5fxd9wBinX8D/Z3n3gAudB4/DVzrPO4GDAamcfglzc3c44FE5/G1wOshkjulXo4zgU9CIXe9zzkHWMDhlTQ3v96X0YDvJfv9szTViULxDXiPwG+juUBGvb/c3L32+wM//oZ6HvB8vY9/D9zpPN7nuYDrgD+FWu69zvcv4KpQyE3gqs6TgCFQGtYCnhDI/SEwpt4x64D0YMldb9vn/Lgw3A3cXe/jT4FRwZ673vbLaIJvrG5kd54zwA4grjlzO9vb4hRCYBTw6d7/Dpw824Hofe3nbHuZwyxpwZDb2X4k8EUI5r4I+DhUcgOPAKcf6N9+sOWmiUtaxL4mzRjTjcB/tK8I/BDMB3Depx3k8G+B44wx7Y0xicCpBC6vcoBz9QHaGmM+N8YsMcZMCpHcdZ83kcBl37dDJPfjBK5AbCVwqf8ma21tCOReBpztfO6jgSOALkGUe386A1vqfZznbAv23E3G5eznAN9YaytaIPcVwMfO4/39vbcHdllrq/fa3mRczl3/XEGf2xhzvTFmHYErSTeGQm5jzJFAV2vtfxqS163cjnOMMcuNMW8ZYxr1PSi6MQeHKmNMEoGycbO1ttgYc1jHW2tzjDEPEBjTLiHwg7X6wEcRDQwHjgcSgPnGmAXW2tVBnrvOGQR+cyw6rE+Ka7lPIvB6gAlAT2CGMWautbY4yHPfDzxqjFlKoFx+cwjHBEPufX0Sezif1+V/343iZnZjzADgAeDEw/qkHH5uY8x4Aj/ExtRt2sdu9gDbm4SbuY0xlwDZwNjDjO1abmvtE8ATxpiLgd8Bk4M5tzHGA/ydwFWpBnPp6/0BMN1aW2GMuQaYSuDnUINE3JU0Y0wMgb+0V6217zibC4wxGc7zGcC2g53HWvuCtXaYtfY4Aq93WnOQc+UReC1AqbV2O4Fx9iEhkLvOhcD0Q80bBLkvB96xAWuBDQRe4xXUua21xdbay621Q4FJBF5PtyGIcu9PHj++8tOFwFXMYM/daG5mN8Z0ITDRZJK1dl1z5jbGDAaeB86y1u5wNu/v73070MYYE73X9kZzM7cx5mfAb4EzD/eqZZB8vV8DJoZA7mQCr7P83BizERgJvG+MOeQlmtz6eltrd9T7t/EcgYszDRZRJc0EavQLQI619uF6T73PD79ZTCYwfn2wc6U57zMJDE/VFZj9nes94FhjTLQznDGCwMyTYM+NMaY1gd8aD3r+IMq9mcBVS4wx6QReeL0+2HMbY9oYY2Kd7VcCcw716l8L5d6f94ELjTFxxpjuQG8Cs1ODPXejuJndGNOGwGsY77bWftGcuZ1M7wCX7nX1fxHQ2xjT3fl3eyHwvrXWEphdd+7e52oMN3ObwPDbMwQK2kFLdxDl7l3v+NM4jF9c3Mptrd1trU211naz1nYjMHHgTGvt4mDO7Zwro97xZ3KIP+f3yzbRi9tC4Y3AJUxLYJpt3fTYUwmML///9u4YpaEgCqPwjWwTZwAAAT1JREFUWYFgFyytBFdgbaWdvYWbsMoCrO1dgGBnKQYEW4sEIigopEiTQhTRws7iXmGUFIkomSHng0B472XezxDCJZM76RFv3h65xQTQISrpV+Aln6/kuWuiW3MAbBf3mDpWnjvM1wwpWuwbyH0AnLY038AacEEsGQ6B/UZyb+WxO+JDY7Wy3Ht53Qcw4fuPartEo8M9sNNQ7hHxzdVbXjPPFgULy04sW70X9+0zY9f4L3KfAM/FtTfFWLtE99wj0C2OrxOF+gNwRjY1EN2t48z+BNz+43z/Ze7LnP+vsc4byX1MbEPRJwqLzRZy/8hxxXzdnYuc76Oc70HO98asuac9/McBSZKkCi3VcqckSVIrLNIkSZIqZJEmSZJUIYs0SZKkClmkSZIkVcgiTZIkqUIWaZIkSRWySJMkSarQJ5O+Amn95vA9AAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 720x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(10,6))\n",
    "plt.plot(\"Month\",\"JD_Count\",data=stat_data)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[1.0]\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "counts=[]\n",
    "percentages=[]\n",
    "count1=conn.execute(f\"select COUNT(1) from _{year}{month:02}\").fetchall()[0][0]\n",
    "counts.append(count1)\n",
    "\n",
    "for i in range(1,month-6+1):\n",
    "    i_count=conn.execute(f\"select COUNT(1) from _{year}{month:02} a inner join _{year}{month-i:02} b on a.job_id=b.job_id\").fetchall()[0][0]\n",
    "    counts.append(i_count)\n",
    "    percentages.append((counts[i-1]-i_count)/counts[0])\n",
    "    \n",
    "percentages.append(counts[-1]/counts[0])\n",
    "print(percentages)\n",
    "\n",
    "labels=[]\n",
    "for i in range(1,month-6+1):\n",
    "    labels.append(i)\n",
    "labels.append(f\"{str(month-6+1)}+\")\n",
    "\n",
    "plt.pie(percentages, labels=labels)\n",
    "plt.title(\"Age of Jobs\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 按照职能统计平均工资"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {},
   "outputs": [],
   "source": [
    "data_original=pd.read_sql(sql=f\"select * from _{year}{month:02} where monthly_salary>0 and monthly_salary<80000\", con=db.get_conn())\n",
    "\n",
    "data_career=data_original.groupby(by='career').agg(\n",
    "    salary=pd.NamedAgg(column='monthly_salary', aggfunc='mean')\n",
    ")\n",
    "\n",
    "data_career['salary']=data_career['salary'].astype(int)\n",
    "\n",
    "data_career[f'2020年{month}月']=data_career['salary']\n",
    "del data_career['salary']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {},
   "outputs": [],
   "source": [
    "data_original2019=pd.read_sql(sql=f\"select * from _{year-1}{month:02} where monthly_salary>0 and monthly_salary<80000\", con=db.get_conn())\n",
    "\n",
    "data_career2019=data_original2019.groupby(by='career').agg(\n",
    "    salary=pd.NamedAgg(column='monthly_salary', aggfunc='mean')\n",
    ")\n",
    "\n",
    "data_career2019[f'2019年{month}月']=data_career2019['salary'].astype(int)\n",
    "del data_career2019['salary']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>2019年5月</th>\n",
       "      <th>2020年5月</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>career</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>ADAS</th>\n",
       "      <td>23771.0</td>\n",
       "      <td>18842.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Android开发工程师</th>\n",
       "      <td>12766.0</td>\n",
       "      <td>14018.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>CAE</th>\n",
       "      <td>11870.0</td>\n",
       "      <td>14272.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>CTO</th>\n",
       "      <td>32500.0</td>\n",
       "      <td>36425.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Cocos2d-x开发工程师</th>\n",
       "      <td>14449.0</td>\n",
       "      <td>16682.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>DSP</th>\n",
       "      <td>16412.0</td>\n",
       "      <td>14555.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>ETL</th>\n",
       "      <td>13861.0</td>\n",
       "      <td>13588.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>GIS</th>\n",
       "      <td>11646.0</td>\n",
       "      <td>12691.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>HTML5开发工程师</th>\n",
       "      <td>NaN</td>\n",
       "      <td>13599.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Hadoop工程师</th>\n",
       "      <td>17478.0</td>\n",
       "      <td>17684.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>MES</th>\n",
       "      <td>11498.0</td>\n",
       "      <td>12319.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>SLAM</th>\n",
       "      <td>19135.0</td>\n",
       "      <td>18548.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Unity3D</th>\n",
       "      <td>12213.0</td>\n",
       "      <td>14753.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Unity3d开发工程师</th>\n",
       "      <td>NaN</td>\n",
       "      <td>16877.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Web前端开发</th>\n",
       "      <td>NaN</td>\n",
       "      <td>12397.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>iOS开发工程师</th>\n",
       "      <td>NaN</td>\n",
       "      <td>15506.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>人工智能</th>\n",
       "      <td>18837.0</td>\n",
       "      <td>16306.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>信号处理</th>\n",
       "      <td>15210.0</td>\n",
       "      <td>15825.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>分布式</th>\n",
       "      <td>18766.0</td>\n",
       "      <td>20094.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>前端开发</th>\n",
       "      <td>NaN</td>\n",
       "      <td>11549.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>区块链开发</th>\n",
       "      <td>21080.0</td>\n",
       "      <td>19866.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>反作弊算法工程师</th>\n",
       "      <td>32916.0</td>\n",
       "      <td>30166.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>图像处理工程师</th>\n",
       "      <td>16369.0</td>\n",
       "      <td>17023.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>图像算法工程师</th>\n",
       "      <td>18391.0</td>\n",
       "      <td>20487.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>大数据</th>\n",
       "      <td>16525.0</td>\n",
       "      <td>16520.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>大数据开发工程师</th>\n",
       "      <td>NaN</td>\n",
       "      <td>13227.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>小程序开发工程师</th>\n",
       "      <td>NaN</td>\n",
       "      <td>10068.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>嵌入式软件开发</th>\n",
       "      <td>16072.0</td>\n",
       "      <td>13682.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>技术主管</th>\n",
       "      <td>17788.0</td>\n",
       "      <td>17065.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>推荐算法工程师</th>\n",
       "      <td>30636.0</td>\n",
       "      <td>32043.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>搜索算法工程师</th>\n",
       "      <td>33678.0</td>\n",
       "      <td>25978.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>敏捷教练</th>\n",
       "      <td>29388.0</td>\n",
       "      <td>28375.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>数据科学家</th>\n",
       "      <td>30356.0</td>\n",
       "      <td>28971.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>机器人</th>\n",
       "      <td>14258.0</td>\n",
       "      <td>15178.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>机器学习</th>\n",
       "      <td>25124.0</td>\n",
       "      <td>21073.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>机器视觉工程师</th>\n",
       "      <td>NaN</td>\n",
       "      <td>13733.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>架构师</th>\n",
       "      <td>24868.0</td>\n",
       "      <td>25993.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>深度学习工程师</th>\n",
       "      <td>23532.0</td>\n",
       "      <td>21661.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>游戏客户端开发工程师</th>\n",
       "      <td>NaN</td>\n",
       "      <td>16414.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>游戏开发工程师</th>\n",
       "      <td>NaN</td>\n",
       "      <td>17549.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>游戏服务端开发工程师</th>\n",
       "      <td>NaN</td>\n",
       "      <td>16452.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>爬虫开发工程师</th>\n",
       "      <td>14148.0</td>\n",
       "      <td>13584.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>生物信息</th>\n",
       "      <td>9125.0</td>\n",
       "      <td>11333.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>移动开发工程师</th>\n",
       "      <td>NaN</td>\n",
       "      <td>15926.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>算法工程师</th>\n",
       "      <td>19577.0</td>\n",
       "      <td>20039.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>系统分析员</th>\n",
       "      <td>NaN</td>\n",
       "      <td>12792.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>系统工程师</th>\n",
       "      <td>NaN</td>\n",
       "      <td>9861.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>系统架构师</th>\n",
       "      <td>15146.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>系统架构设计师</th>\n",
       "      <td>NaN</td>\n",
       "      <td>20589.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>编译器开发工程师</th>\n",
       "      <td>23355.0</td>\n",
       "      <td>25286.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>网站架构设计师</th>\n",
       "      <td>NaN</td>\n",
       "      <td>10772.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>自然语言处理（NLP）</th>\n",
       "      <td>24144.0</td>\n",
       "      <td>23572.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>芯片</th>\n",
       "      <td>22866.0</td>\n",
       "      <td>24565.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>视觉软件工程师</th>\n",
       "      <td>14057.0</td>\n",
       "      <td>14712.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>软件工程师</th>\n",
       "      <td>12484.0</td>\n",
       "      <td>13573.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>遥感</th>\n",
       "      <td>12956.0</td>\n",
       "      <td>12731.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>驱动工程师</th>\n",
       "      <td>16180.0</td>\n",
       "      <td>17920.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                2019年5月  2020年5月\n",
       "career                          \n",
       "ADAS            23771.0  18842.0\n",
       "Android开发工程师    12766.0  14018.0\n",
       "CAE             11870.0  14272.0\n",
       "CTO             32500.0  36425.0\n",
       "Cocos2d-x开发工程师  14449.0  16682.0\n",
       "DSP             16412.0  14555.0\n",
       "ETL             13861.0  13588.0\n",
       "GIS             11646.0  12691.0\n",
       "HTML5开发工程师          NaN  13599.0\n",
       "Hadoop工程师       17478.0  17684.0\n",
       "MES             11498.0  12319.0\n",
       "SLAM            19135.0  18548.0\n",
       "Unity3D         12213.0  14753.0\n",
       "Unity3d开发工程师        NaN  16877.0\n",
       "Web前端开发             NaN  12397.0\n",
       "iOS开发工程师            NaN  15506.0\n",
       "人工智能            18837.0  16306.0\n",
       "信号处理            15210.0  15825.0\n",
       "分布式             18766.0  20094.0\n",
       "前端开发                NaN  11549.0\n",
       "区块链开发           21080.0  19866.0\n",
       "反作弊算法工程师        32916.0  30166.0\n",
       "图像处理工程师         16369.0  17023.0\n",
       "图像算法工程师         18391.0  20487.0\n",
       "大数据             16525.0  16520.0\n",
       "大数据开发工程师            NaN  13227.0\n",
       "小程序开发工程师            NaN  10068.0\n",
       "嵌入式软件开发         16072.0  13682.0\n",
       "技术主管            17788.0  17065.0\n",
       "推荐算法工程师         30636.0  32043.0\n",
       "搜索算法工程师         33678.0  25978.0\n",
       "敏捷教练            29388.0  28375.0\n",
       "数据科学家           30356.0  28971.0\n",
       "机器人             14258.0  15178.0\n",
       "机器学习            25124.0  21073.0\n",
       "机器视觉工程师             NaN  13733.0\n",
       "架构师             24868.0  25993.0\n",
       "深度学习工程师         23532.0  21661.0\n",
       "游戏客户端开发工程师          NaN  16414.0\n",
       "游戏开发工程师             NaN  17549.0\n",
       "游戏服务端开发工程师          NaN  16452.0\n",
       "爬虫开发工程师         14148.0  13584.0\n",
       "生物信息             9125.0  11333.0\n",
       "移动开发工程师             NaN  15926.0\n",
       "算法工程师           19577.0  20039.0\n",
       "系统分析员               NaN  12792.0\n",
       "系统工程师               NaN   9861.0\n",
       "系统架构师           15146.0      NaN\n",
       "系统架构设计师             NaN  20589.0\n",
       "编译器开发工程师        23355.0  25286.0\n",
       "网站架构设计师             NaN  10772.0\n",
       "自然语言处理（NLP）     24144.0  23572.0\n",
       "芯片              22866.0  24565.0\n",
       "视觉软件工程师         14057.0  14712.0\n",
       "软件工程师           12484.0  13573.0\n",
       "遥感              12956.0  12731.0\n",
       "驱动工程师           16180.0  17920.0"
      ]
     },
     "execution_count": 57,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data_career2019.join(data_career, how='outer')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "metadata": {},
   "outputs": [
    {
     "ename": "ValueError",
     "evalue": "Cannot convert non-finite values (NA or inf) to integer",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mValueError\u001b[0m                                Traceback (most recent call last)",
      "\u001b[1;32m<ipython-input-56-f52ce0957759>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[0;32m      1\u001b[0m \u001b[0mdf\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mdata_career2019\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mjoin\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mdata_career\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mhow\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;34m'outer'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 2\u001b[1;33m \u001b[0mdf\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34mf'{year-1}年{month}月'\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mdf\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34mf'{year-1}年{month}月'\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mastype\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mint\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m      3\u001b[0m \u001b[0mdf\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34mf'{year}年{month}月'\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mdf\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34mf'{year}年{month}月'\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mastype\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mint\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m      4\u001b[0m \u001b[0mdisplay\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mdf\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32mC:\\ProgramData\\Anaconda3\\lib\\site-packages\\pandas\\core\\generic.py\u001b[0m in \u001b[0;36mastype\u001b[1;34m(self, dtype, copy, errors)\u001b[0m\n\u001b[0;32m   5695\u001b[0m         \u001b[1;32melse\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   5696\u001b[0m             \u001b[1;31m# else, only a single dtype is given\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 5697\u001b[1;33m             \u001b[0mnew_data\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_data\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mastype\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mdtype\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mdtype\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mcopy\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mcopy\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0merrors\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0merrors\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m   5698\u001b[0m             \u001b[1;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_constructor\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mnew_data\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m__finalize__\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   5699\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32mC:\\ProgramData\\Anaconda3\\lib\\site-packages\\pandas\\core\\internals\\managers.py\u001b[0m in \u001b[0;36mastype\u001b[1;34m(self, dtype, copy, errors)\u001b[0m\n\u001b[0;32m    580\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    581\u001b[0m     \u001b[1;32mdef\u001b[0m \u001b[0mastype\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mdtype\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mcopy\u001b[0m\u001b[1;33m:\u001b[0m \u001b[0mbool\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;32mFalse\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0merrors\u001b[0m\u001b[1;33m:\u001b[0m \u001b[0mstr\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;34m\"raise\"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 582\u001b[1;33m         \u001b[1;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mapply\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"astype\"\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mdtype\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mdtype\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mcopy\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mcopy\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0merrors\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0merrors\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    583\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    584\u001b[0m     \u001b[1;32mdef\u001b[0m \u001b[0mconvert\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32mC:\\ProgramData\\Anaconda3\\lib\\site-packages\\pandas\\core\\internals\\managers.py\u001b[0m in \u001b[0;36mapply\u001b[1;34m(self, f, filter, **kwargs)\u001b[0m\n\u001b[0;32m    440\u001b[0m                 \u001b[0mapplied\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mb\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mapply\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mf\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    441\u001b[0m             \u001b[1;32melse\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 442\u001b[1;33m                 \u001b[0mapplied\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mgetattr\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mb\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mf\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    443\u001b[0m             \u001b[0mresult_blocks\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0m_extend_blocks\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mapplied\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mresult_blocks\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    444\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32mC:\\ProgramData\\Anaconda3\\lib\\site-packages\\pandas\\core\\internals\\blocks.py\u001b[0m in \u001b[0;36mastype\u001b[1;34m(self, dtype, copy, errors)\u001b[0m\n\u001b[0;32m    623\u001b[0m             \u001b[0mvals1d\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mvalues\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mravel\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    624\u001b[0m             \u001b[1;32mtry\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 625\u001b[1;33m                 \u001b[0mvalues\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mastype_nansafe\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mvals1d\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mdtype\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mcopy\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mTrue\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    626\u001b[0m             \u001b[1;32mexcept\u001b[0m \u001b[1;33m(\u001b[0m\u001b[0mValueError\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mTypeError\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    627\u001b[0m                 \u001b[1;31m# e.g. astype_nansafe can fail on object-dtype of strings\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32mC:\\ProgramData\\Anaconda3\\lib\\site-packages\\pandas\\core\\dtypes\\cast.py\u001b[0m in \u001b[0;36mastype_nansafe\u001b[1;34m(arr, dtype, copy, skipna)\u001b[0m\n\u001b[0;32m    866\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    867\u001b[0m         \u001b[1;32mif\u001b[0m \u001b[1;32mnot\u001b[0m \u001b[0mnp\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0misfinite\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0marr\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mall\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 868\u001b[1;33m             \u001b[1;32mraise\u001b[0m \u001b[0mValueError\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"Cannot convert non-finite values (NA or inf) to integer\"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    869\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    870\u001b[0m     \u001b[1;32melif\u001b[0m \u001b[0mis_object_dtype\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0marr\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;31mValueError\u001b[0m: Cannot convert non-finite values (NA or inf) to integer"
     ]
    }
   ],
   "source": [
    "df=data_career2019.join(data_career, how='outer')\n",
    "df[f'{year-1}年{month}月']=df[f'{year-1}年{month}月'].astype(int)\n",
    "df[f'{year}年{month}月']=df[f'{year}年{month}月'].astype(int)\n",
    "display(df)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "        delete from [jobs].[dbo].[_201901] where city ='杭州' and title like '00%(职位编号：%)'\n",
      "        \n",
      "\n",
      "        delete from [jobs].[dbo].[_201902] where city ='杭州' and title like '00%(职位编号：%)'\n",
      "        \n",
      "\n",
      "        delete from [jobs].[dbo].[_201903] where city ='杭州' and title like '00%(职位编号：%)'\n",
      "        \n",
      "\n",
      "        delete from [jobs].[dbo].[_201904] where city ='杭州' and title like '00%(职位编号：%)'\n",
      "        \n",
      "\n",
      "        delete from [jobs].[dbo].[_201905] where city ='杭州' and title like '00%(职位编号：%)'\n",
      "        \n",
      "\n",
      "        delete from [jobs].[dbo].[_201906] where city ='杭州' and title like '00%(职位编号：%)'\n",
      "        \n",
      "\n",
      "        delete from [jobs].[dbo].[_201907] where city ='杭州' and title like '00%(职位编号：%)'\n",
      "        \n",
      "\n",
      "        delete from [jobs].[dbo].[_201908] where city ='杭州' and title like '00%(职位编号：%)'\n",
      "        \n",
      "\n",
      "        delete from [jobs].[dbo].[_201909] where city ='杭州' and title like '00%(职位编号：%)'\n",
      "        \n",
      "\n",
      "        delete from [jobs].[dbo].[_201910] where city ='杭州' and title like '00%(职位编号：%)'\n",
      "        \n",
      "\n",
      "        delete from [jobs].[dbo].[_201911] where city ='杭州' and title like '00%(职位编号：%)'\n",
      "        \n",
      "\n",
      "        delete from [jobs].[dbo].[_201912] where city ='杭州' and title like '00%(职位编号：%)'\n",
      "        \n",
      "\n",
      "        delete from [jobs].[dbo].[_202001] where city ='杭州' and title like '00%(职位编号：%)'\n",
      "        \n",
      "\n",
      "        delete from [jobs].[dbo].[_202002] where city ='杭州' and title like '00%(职位编号：%)'\n",
      "        \n",
      "\n",
      "        delete from [jobs].[dbo].[_202003] where city ='杭州' and title like '00%(职位编号：%)'\n",
      "        \n",
      "\n",
      "        delete from [jobs].[dbo].[_202004] where city ='杭州' and title like '00%(职位编号：%)'\n",
      "        \n",
      "\n",
      "        delete from [jobs].[dbo].[_202005] where city ='杭州' and title like '00%(职位编号：%)'\n",
      "        \n",
      "\n",
      "        delete from [jobs].[dbo].[_202006] where city ='杭州' and title like '00%(职位编号：%)'\n",
      "        \n",
      "\n",
      "        delete from [jobs].[dbo].[_202007] where city ='杭州' and title like '00%(职位编号：%)'\n",
      "        \n",
      "\n",
      "        delete from [jobs].[dbo].[_202008] where city ='杭州' and title like '00%(职位编号：%)'\n",
      "        \n",
      "\n",
      "        delete from [jobs].[dbo].[_202009] where city ='杭州' and title like '00%(职位编号：%)'\n",
      "        \n",
      "\n",
      "        delete from [jobs].[dbo].[_202010] where city ='杭州' and title like '00%(职位编号：%)'\n",
      "        \n",
      "\n",
      "        delete from [jobs].[dbo].[_202011] where city ='杭州' and title like '00%(职位编号：%)'\n",
      "        \n",
      "\n",
      "        delete from [jobs].[dbo].[_202012] where city ='杭州' and title like '00%(职位编号：%)'\n",
      "        \n"
     ]
    }
   ],
   "source": [
    "for _year in [2019, 2020]:\n",
    "    for _month in range(12):\n",
    "        sql=f\"\"\"\n",
    "        delete from [jobs].[dbo].[_{_year}{_month+1:02}] where city ='杭州' and title like '00%(职位编号：%)'\n",
    "        \"\"\"\n",
    "        print(sql)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "\"\\ndelete from [jobs].[dbo].[_202011] where province ='异地招聘'\\ndelete from [jobs].[dbo].[_202011] where job_summary like '%应届生%'\\ndelete from [jobs].[dbo].[_202011] where title like '%应届%'\\n        \""
      ]
     },
     "execution_count": 29,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sql"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
